package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MallToken;

import java.util.*;
public class MallTokenExample extends SgExample<MallTokenExample.Criteria> {
    public static final Class<MallToken> beanClass = MallToken.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn tokenDate;
    public static EntityColumn tokenId;
    public static EntityColumn userId;
    public static EntityColumn token;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        tokenDate = listMap.get("tokenDate");
        tokenId = listMap.get("tokenId");
        userId = listMap.get("userId");
        token = listMap.get("token");
        }

    public MallTokenExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MallTokenExample.Criteria createCriteriaInternal() {
        return new MallTokenExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MallTokenExample.Criteria andTokenDateIsNull() {
            return isNull(tokenDate);
        }

        public MallTokenExample.Criteria andTokenDateIsNotNull() {
            return isNotNull(tokenDate);
        }

        public MallTokenExample.Criteria andTokenDateEqualTo(Date value) {
            return equalTo(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateNotEqualTo(Date value) {
            return notEqualTo(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateGreaterThan(Date value) {
            return greaterThan(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateLessThan(Date value) {
            return lessThan(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(tokenDate, value);
        }

        public MallTokenExample.Criteria andTokenDateIn(List<Date> values) {
            return in(tokenDate, values);
        }

        public MallTokenExample.Criteria andTokenDateNotIn(List<Date> values) {
            return notIn(tokenDate, values);
        }

        public MallTokenExample.Criteria andTokenDateBetween(Date value1, Date value2) {
            return between(tokenDate, value1, value2);
        }

        public MallTokenExample.Criteria andTokenDateNotBetween(Date value1, Date value2) {
            return notBetween(tokenDate, value1, value2);
        }
        public MallTokenExample.Criteria andTokenIdIsNull() {
            return isNull(tokenId);
        }

        public MallTokenExample.Criteria andTokenIdIsNotNull() {
            return isNotNull(tokenId);
        }

        public MallTokenExample.Criteria andTokenIdEqualTo(Long value) {
            return equalTo(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdNotEqualTo(Long value) {
            return notEqualTo(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdGreaterThan(Long value) {
            return greaterThan(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdLessThan(Long value) {
            return lessThan(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(tokenId, value);
        }

        public MallTokenExample.Criteria andTokenIdIn(List<Long> values) {
            return in(tokenId, values);
        }

        public MallTokenExample.Criteria andTokenIdNotIn(List<Long> values) {
            return notIn(tokenId, values);
        }

        public MallTokenExample.Criteria andTokenIdBetween(Long value1, Long value2) {
            return between(tokenId, value1, value2);
        }

        public MallTokenExample.Criteria andTokenIdNotBetween(Long value1, Long value2) {
            return notBetween(tokenId, value1, value2);
        }
        public MallTokenExample.Criteria andUserIdIsNull() {
            return isNull(userId);
        }

        public MallTokenExample.Criteria andUserIdIsNotNull() {
            return isNotNull(userId);
        }

        public MallTokenExample.Criteria andUserIdEqualTo(Long value) {
            return equalTo(userId, value);
        }

        public MallTokenExample.Criteria andUserIdNotEqualTo(Long value) {
            return notEqualTo(userId, value);
        }

        public MallTokenExample.Criteria andUserIdGreaterThan(Long value) {
            return greaterThan(userId, value);
        }

        public MallTokenExample.Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(userId, value);
        }

        public MallTokenExample.Criteria andUserIdLessThan(Long value) {
            return lessThan(userId, value);
        }

        public MallTokenExample.Criteria andUserIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(userId, value);
        }

        public MallTokenExample.Criteria andUserIdIn(List<Long> values) {
            return in(userId, values);
        }

        public MallTokenExample.Criteria andUserIdNotIn(List<Long> values) {
            return notIn(userId, values);
        }

        public MallTokenExample.Criteria andUserIdBetween(Long value1, Long value2) {
            return between(userId, value1, value2);
        }

        public MallTokenExample.Criteria andUserIdNotBetween(Long value1, Long value2) {
            return notBetween(userId, value1, value2);
        }
        public MallTokenExample.Criteria andTokenIsNull() {
            return isNull(token);
        }

        public MallTokenExample.Criteria andTokenIsNotNull() {
            return isNotNull(token);
        }

        public MallTokenExample.Criteria andTokenEqualTo(String value) {
            return equalTo(token, value);
        }

        public MallTokenExample.Criteria andTokenNotEqualTo(String value) {
            return notEqualTo(token, value);
        }

        public MallTokenExample.Criteria andTokenGreaterThan(String value) {
            return greaterThan(token, value);
        }

        public MallTokenExample.Criteria andTokenGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(token, value);
        }

        public MallTokenExample.Criteria andTokenLessThan(String value) {
            return lessThan(token, value);
        }

        public MallTokenExample.Criteria andTokenLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(token, value);
        }

        public MallTokenExample.Criteria andTokenLike(String value) {
            return like(token, value);
        }

        public MallTokenExample.Criteria andTokenNotLike(String value) {
            return notLike(token, value);
        }

        public MallTokenExample.Criteria andTokenIn(List<String> values) {
            return in(token, values);
        }

        public MallTokenExample.Criteria andTokenNotIn(List<String> values) {
            return notIn(token, values);
        }

        public MallTokenExample.Criteria andTokenBetween(String value1, String value2) {
            return between(token, value1, value2);
        }

        public MallTokenExample.Criteria andTokenNotBetween(String value1, String value2) {
            return notBetween(token, value1, value2);
        }
    }
}